本章延續前面繼續介紹物件導向的概念,其中有3大特性 : 繼承、封裝、多型
封裝(Encapsulation) : 類別控制物件或其他被其餘類別存取的部分。
多形(Polymorphism) : 運用函數去實行多個條件任務。
不過在這之前,我們會介紹物件與類別的更多關係,透過基礎的建立,如:建構子、抽象、介面等,我們之後面對更複雜的物件導向概念也更好上手。
如同前面所介紹,當我們創立了一個新物件,其會繼承類別中的所有屬性,包含函數 :
public class Newgpa{
public void report(char gpa){
System.out.println("Your gpa is : " + gpa);
}
public double grade(char gpa){
if(gpa == 'A') return 3.7;
else return 2.7;
}
public static void main(String[] args){
Newgpa gpa_check = new Newgpa();
gpa_check.report('A');
System.out.println("Your Final grade is : "+ gpa_check.grade('A'));
}
}
回到我們在Day 11: 函數提到的函數前置修飾字的比較,這邊運用程式demo來呈現差異 :
public class Main{
public void modifier_is_public(){
System.out.println("Called by object");
}
static void modifier_is_static(){
System.out.println("Called without creating objects");
}
public static void main(String[] args){
/*'創造物件呼叫函數*/
Main public_obj = new Main();
public_obj.modifier_is_public(); //Called by object
/*直接呼叫函數*/
modifier_is_static(); //Called without creating objects
}
}
以上內容若有錯誤煩請不吝嗇指教,今天身體欠佳,內容稍作刪減,還請不要介意。